package method

import java.io.File

object FileMatcher {
  /**
    * 列出当前目录的所有文件
    *
    */
  private val files = new File(".").listFiles()

  /**
    * 根据传过来的过滤函数来匹配符合的文件
    *
    * @param matcher
    * @return
    */
  private def doFileMatch(matcher: String => Boolean) =
    for (file <- files
         if matcher(file.getName)
         if file.isFile)
      yield file

  /**
    * 根据结尾来匹配文件,_是参数占位符
    *
    * @param qurey
    * @return
    */
  def filesEnding(qurey: String) =
    doFileMatch(_.endsWith(qurey))

  /**
    * 根据文件包含的字符来筛选
    * @param qurey
    * @return
    */
  def filesContaining(qurey: String) =
    doFileMatch(_.contains(qurey))
}
